package com.example.day05;
/**
 *  * 1. 对所有的静态的属性分配空间以及初始化
 *  *
 *  * 2. 对所有的静态的方法分配空间以及初始化
 *  *
 *  * 3. 调用静态代码块
 *  *
 *  * 4. 如果遇到创建对象
 *  *
 *  *    4-1. 给所有的非静态的属性分配空间以及初始化
 *  *
 *  *    4-2. 给所有的非静态的方法分配空间以及初始化
 *  *
 *  *    4-3. 调用普通代码块
 *  *
 *  *    4-4. 调用构造块
 */

//执行次序
public class B {
    //启动时加载           1
    public static B t1 = new B();
    //启动时加载           //3
   public static B t2 = new B();

   {       // 2       4      7

      System.out.println("构造块");

   }


    //启动时加载     5
  static{

       System.out.println("静态块");

   }

   public static void main(String[] args){
             //6
       B t = new B();

       /**
        * 构造块
        * 构造块
        * 静态块
        * 构造块
        */
   }
}
